package com.bestcem.xm.ticket.service;

import com.bestcem.xm.ticket.entity.mongo.Ticket;
import com.bestcem.xm.ticket.service.dto.mq.DeliverAgainDTO;

import java.time.LocalDateTime;

/**
 * 二次投放服务
 *
 * @author jy.zhao
 * @version 1.0
 * @date 2021/8/23 17:08
 **/
public interface DeliverAgainService {

    /**
     * 二次投放开始时接收mq触发答题状态条件，保存到RspdTimer
     *
     * @param deliverAgainDTO
     * @author jy.zhao
     * @date 2021/8/23 17:10
     **/
    void validDeliverAgainCondition(DeliverAgainDTO deliverAgainDTO);

    /**
     * 根据工单id检查是否有二次投放,有的话需要进行二次投放
     *
     * @param ticket 工单id
     * @param scene    调用该函数的场景
     *                 0: 工单状态变更调用，工单状态变更调用时，条件中要是全部满足的情况，只要出现新增跟进记录，即不成立
     *                 1: 提交跟进记录调用
     * @param callTime 调用时间
     * @author jy.zhao
     * @date 2021/8/24 15:12
     **/
    void validTicketAndDeliverAgain(Ticket ticket, Integer scene, LocalDateTime callTime);
}
